package cc.rengu.igas.channel.alipay.facade;

import cc.rengu.igas.channel.alipay.facade.request.*;
import cc.rengu.igas.channel.alipay.facade.response.*;
import cc.rengu.igas.channel.alipay.facade.result.Result;

/**
 * 支付宝公共服务组件
 */
public interface AlipayPubService {

    /**
     * 获取用户授权
     *
     * @param aliGetAuthCodeRequest 获取用户授权请求
     * @return 授权结果
     */
    Result<AliGetAuthCodeResponse> aliGetAuthCode(AliGetAuthCodeRequest aliGetAuthCodeRequest);

    /**
     * 获取用户信息
     *
     * @param aliGetUserIdRequest 获取用户信息请求
     * @return 用户信息
     */
    Result<AliGetUserIdResponse> aliGetUserId(AliGetUserIdRequest aliGetUserIdRequest);

    /**
     * 图片上传
     *
     * @param imageUploadRequest 图片上传请求
     * @return 上传结果
     */
    Result<ImageUploadResponse> imageUpload(ImageUploadRequest imageUploadRequest);

    /**
     * idc查询
     *
     * @param idcQueryRequest idc查询请求
     * @return idc列表
     */
    Result<IdcQueryResponse> idcQuery(IdcQueryRequest idcQueryRequest);
}
